Software engineering is concerned with long-term, typically large scale, programming projects. This course introduces the topic through lectures and by giving the students an opportunity to thoroughly discuss the nature and challenges of software, the fundamental approaches to software development projects, and practice writing requirements and modeling systems. The lectures, assignments, and projects will cover topics in software engineering management, problem specification and analysis, system modeling techniques, and documentation. This course has two goals: providing (1) a solid foundation for further advanced study of software engineering and (2) detailed knowledge about requirements elicitation and specification, and system modeling techniques. The students will read and discuss seminal research papers in the software engineering field as well as learn about the latest trends and techniques. Students will be able to understand the difference between different development processes and their pros and cons, appreciate the importance of requirements, and learn how to capture requirements in various ways depending on the needs of the project. Students will learn through reading, discussions, and the application of various techniques to challenge problems. Students should have some familiarity with software development and design prior to taking this course. This can be completed through CSci 3081 or equivalent courses taken elsewhere. PreReq: CSci 3081 or Grad Standing
Gopher Grades is maintained by Social Coding with data from Summer 2017 to Summer 2026 provided by the University in response to a public records request
Not affiliated with the University of Minnesota
Privacy Policy